Skip to content

feat: drag and copy using alt+drag - #2738

Merged
sidmohanty11 merged 2 commits into
mainfrom
copying-drag
Aug 10, 2026
Merged

feat: drag and copy using alt+drag#2738
sidmohanty11 merged 2 commits into
mainfrom
copying-drag

Conversation

@sidmohanty11

Copy link
Copy Markdown
Contributor

No description provided.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builder reviewed your changes and found 1 potential issue 🟡

Review Details

Code Review Summary

PR #2738 adds Option/Alt-drag duplication for overview frames, including multi-frame selections, and tightens the editor's optimistic create/update path so concurrent duplicates are not lost. It also changes primitive creation selection semantics and forces a full preview document refresh for structural element copies. The overall approach is thoughtful: gesture cleanup is centralized, live refs avoid stale geometry, and the new unit/E2E coverage exercises frame, group, and element-copy behavior.

Risk assessment: Standard. The main concern is a multi-selection state-management issue: independent duplicate completions each focus their own newly created screen, so the final selection and camera depend on whichever request resolves last. This undermines the expected copied-group workflow and the explicit camera-stability intent. Other reviewed paths, including modifier release/cancellation, locked frames, and concurrent mutation handling, looked sound.

Key Findings

  • 🟡 MEDIUM — Multi-frame alt-drag does not preserve the copied group as the final selection and may move the camera to an arbitrary clone.

🧪 Browser testing: Will run after this review (PR touches UI code)

Comment thread templates/design/app/components/design/MultiScreenCanvas.tsx
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builder reviewed your changes — no new findings

Review Details

Incremental Code Review Summary

The latest PR head was reviewed against the current full diff. The implementation adds Alt-drag copying for overview frames and multi-frame selections, updates optimistic duplicate creation to use independent promises, preserves live preview content during structural copies, and adjusts primitive selection and keyboard shortcut handling. The targeted changes remain coherent: fresh refs avoid stale geometry, event prevention is deferred until the canvas will handle the shortcut, and the gesture tests cover cancellation, frame copying, and relative placement.

Risk assessment: Standard. No genuinely new actionable issues were found in this incremental pass. The previously reported multi-frame Alt-drag selection/camera issue at MultiScreenCanvas.tsx:5228 is still present and remains open; it was intentionally not reposted. The existing gesture suite was reported as passing (31 tests), and no other regressions were identified.

Key Findings

  • No new findings in this incremental review.
  • Existing open feedback remains unchanged and was not duplicated.

🧪 Browser testing: Will run after this review (PR touches UI code)

@sidmohanty11
sidmohanty11 merged commit 24ccc42 into main Aug 10, 2026
94 of 95 checks passed
@sidmohanty11
sidmohanty11 deleted the copying-drag branch August 10, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants